(begin
  (define (p) (p));if i remove the clause, it will dim it as a fault
  (define (test x y)
    (if (= 0 x)
        0
        y))
  (test 0 (p)))